home *** CD-ROM | disk | FTP | other *** search
Wrap
AMOS Source Code | 1990-05-15 | 23.1 KB | 443 lines
Set Buffer 8 Rem *************************** Rem The Amiga Conversion of Rem SPACE BLOB by Robin Edwards Rem 26/7/90 Rem *************************** Close Workbench : Screen Open 0,320,200,16,Lowres Flash Off : Curs Off : Hide : Cls 0 For I=1 To 6 : Make Mask I : Next I For I=16 To 18 : Make Mask I : Next I For I=44 To 53 : Make Mask I : Next I FLAG=0 Make Mask 64 : Make Mask 68 : Make Mask 42 : Make Mask 43 Auto View Off : Screen Open 1,320,200,16,Lowres : Screen To Front 0 : Screen 0 : Auto View On SCRE=0 MUZAK=1 80 Rem *********************** Gosub 10000 100 SCRN=1 : SCRE=0 : LIVES=5 Rem *********** 110 Flash Off : If SCRN=6 or SCRN=12 or SCRN=18 Then Goto 8000 If SCRN=19 Then SCRN=1 : If LIVES<10 Then Gosub 20000 Gosub 2000+(100*SCRN) : Wait Vbl Flash 12,"(2ae,3)(66c,3)(82a,3)(c28,3)(e24,3)(e42,3)(ea0,3)(ee0,3)(aa4,3)(688,3)" Gosub 6000 120 Gosub 5000 : Wait Vbl : Goto 120 Rem ---------------------- Rem - SCREENS - Rem ---------------------- Rem 2100 Rem ----- ONE ------- Fade 1 : Wait 14 : Bob Off : Sprite Off TYPE=1 : Gosub 4000 : FINSCRE=60 For I=0 To 13 : Bob 1,I*26+1,193,9 : Put Bob 1 : Wait Vbl : Next I Restore 2140 For I=1 To 999 Read IX,IY,IS If IX=-1 Then Goto 2150 Bob 1,IX,IY,IS : Put Bob 1 : Wait Vbl Next I 2140 Data 100,140,8,126,140,8,210,150,9 Data 50,90,9,230,96,8,256,96,8,282,96,8 Data 120,55,9,146,55,9 Data 250,70,35,40,166,35,40,166,35 Data -1,-1,-1 2150 Gosub 6500 : Screen Copy 0 To 1 For I=1 To 999 Read IX,IY,IS If IX=-1 Then Goto 2170 Bob 1,IX,IY,IS : Put Bob 1 : Wait Vbl Next I 2170 Data 280,140,14,50,25,14 Data 295,30,15,255,45,14 Data 215,35,15,125,90,15 Data -1,-1,-1 Put Bob 1 : Wait Vbl Sprite 1,X Hard(0,10),Y Hard(0,180),1 Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$444,$666,$EEE Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$444,$666,$EEE Return 2200 Rem ----- TWO ------- Fade 1 : Wait 14 : Bob Off : Sprite Off TYPE=2 : Gosub 4000 : FINSCRE=60 For I=0 To 13 : Bob 1,I*26+1,193,9 : Put Bob 1 : Wait Vbl : Next I Restore 2240 For I=1 To 999 Read IX,IY,IS If IX=-1 Then Goto 2250 Bob 1,IX,IY,IS : Put Bob 1 : Wait Vbl Next I 2240 Data 50,168,30,80,168,30,110,168,30,140,168,30 Data 280,168,30,250,168,30,220,168,30,190,168,30 Data 165,150,8,165,116,8,165,80,8 Data 80,70,9,106,70,9,50,115,11 Data 250,60,11,250,60,11 Data -1,-1,-1 2250 Gosub 6500 : Screen Copy 0 To 1 For I=1 To 999 Read IX,IY,IS If IX=-1 Then Goto 2270 Bob 1,IX,IY,IS : Put Bob 1 : Wait Vbl Next I 2270 Data 55,30,14,260,25,15 Data 35,80,15,260,110,14 Data 125,110,14,200,85,15 Data -1,-1,-1 Sprite 4,X Hard(0,0),Y Hard(0,104),17 : Move X 4,"128(1,1,320)L" : Move On(4) : Anim 4,"(17,8)(16,8)(18,8)(16,8)L" : Anim On(4) Wait Vbl : Put Bob 1 : Sprite 1,X Hard(0,10),Y Hard(0,180),1 Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$400,$611,$EEE Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$422,$622,$EEE Return 2300 Rem ----- Three ----- Fade 1 : Wait 14 : Bob Off : Sprite Off TYPE=4 : Gosub 4000 : FINSCRE=40 For I=0 To 13 : Bob 1,I*26+1,193,55 : Put Bob 1 : Wait Vbl : Next I Restore 2340 For I=1 To 999 Read IX,IY,IS If IX=-1 Then Goto 2350 Bob 1,IX,IY,IS : Put Bob 1 : Wait Vbl Next I 2340 Data 50,140,10,140,120,10,170,120,10 Data 147,96,35 Data 70,70,10,220,75,10 Data 55,47,35,210,50,35 Data 205,168,35,220,168,35,240,168,35,240,168,35 Wait Vbl : Put Bob 1 Data -1,-1,-1 2350 Gosub 6500 : Screen Copy 0 To 1 Put Bob 1 : Bob 1,250,135,14 : Wait Vbl : Put Bob 1 : Bob 1,290,30,15 : Wait Vbl : Put Bob 1 : Bob 1,160,60,14 : Wait Vbl : Put Bob 1 : Bob 1,60,25,15 Wait Vbl : Put Bob 1 : Sprite 1,X Hard(0,48),Y Hard(0,134),1 Sprite 4,X Hard(0,220),Y Hard(0,79),48 Anim 4,"(44,8)(45,8)(46,8)(47,8)(48,40)(49,4)(50,4)(51,4)(52,4)(53,4)(44,1)L" : Move Y 4,"129(1,0,32)(1,1,7)(1,2,10)(1,3,23)(1,0,21)L" : Anim On(4) : Move On(4) Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$224,$446,$EEE Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$224,$446,$EEE Return 2400 Rem ----- Four ----- Fade 1 : Wait 14 : Bob Off : Sprite Off TYPE=6 : Gosub 4000 : FINSCRE=40 For I=0 To 13 : Bob 1,I*26+1,193,55 : Put Bob 1 : Wait Vbl : Next I For I=0 To 3 : Bob 1,200,159-(I*28),34 : Put Bob 1 : Wait Vbl : Next I Restore 2440 For I=1 To 999 Read IX,IY,IS If IX=-1 Then Goto 2445 Bob 1,IX,IY,IS : Put Bob 1 : Wait Vbl Next I 2440 Data 16,181,13,48,181,13,301,181,13,269,181,13 Data 50,80,55,100,120,55 Data 140,65,55,270,65,55,285,122,55 Data 50,56,30,101,96,30,285,99,30 2445 Wait Vbl : Put Bob 1 Data -1,-1,-1 Gosub 6500 : Screen Copy 0 To 1 Bob 1,30,20,14 : Wait Vbl : Put Bob 1 : Bob 1,90,60,14 : Wait Vbl : Put Bob 1 Bob 1,170,120,15 : Wait Vbl : Put Bob 1 : Bob 1,275,85,14 : Wait Vbl : Put Bob 1 Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$242,$464,$EEE Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$242,$464,$EEE Sprite 1,X Hard(0,155),Y Hard(0,180),1 Return 2500 Rem ----- Five ----- Fade 1 : Wait 14 : Bob Off : Sprite Off TYPE=8 : Gosub 4000 : FINSCRE=50 For I=0 To 13 : Bob 1,I*26+1,193,9 : Put Bob 1 : Wait Vbl : Next I For I=0 To 10 : Bob 1,I*32+5,180,12 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 Bob 1,30,100,55 : Wait Vbl : Put Bob 1 : Bob 1,100,120,55 : Wait Vbl : Put Bob 1 : Bob 1,160,80,55 : Wait Vbl : Put Bob 1 Bob 1,105,60,55 : Wait Vbl : Put Bob 1 Bob 1,210,150,55 : Wait Vbl : Put Bob 1 Bob 1,250,70,55 : Wait Vbl : Put Bob 1 : Bob 1,280,110,55 : Wait Vbl : Put Bob 1 Gosub 6500 : Screen Copy 0 To 1 Bob 1,40,30,15 : Wait Vbl : Put Bob 1 : Bob 1,70,120,14 : Wait Vbl : Put Bob 1 : Bob 1,190,25,14 : Wait Vbl : Put Bob 1 Bob 1,210,125,15 : Wait Vbl : Put Bob 1 : Bob 1,290,35,15 : Wait Vbl : Put Bob 1 Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$426,$448,$EEE Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$426,$448,$EEE : Put Bob 1 : Sprite 1,X Hard(0,30),Y Hard(0,90),1 Return 2700 Rem ----- SVN ------- Fade 1 : Wait 14 : Sprite Off : Bob Off TYPE=7 : Gosub 4000 : FINSCRE=50 For I=0 To 13 : Bob 1,I*26+1,193,55 : Put Bob 1 : Wait Vbl : Next I For I=3 To 9 : Bob 1,I*26+1,123,55 : Put Bob 1 : Wait Vbl : Next I For I=5 To 7 : Bob 1,I*26+1,53,55 : Put Bob 1 : Wait Vbl : Next I For I=0 To 4 : Bob 1,141,157-(I*28),34 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 : Wait Vbl Gosub 6500 : Screen Copy 0 To 1 Bob 1,157,20,14 : Wait Vbl : Put Bob 1 : Bob 1,127,80,14 : Wait Vbl : Put Bob 1 : Bob 1,189,80,14 : Wait Vbl : Put Bob 1 Bob 1,95,150,14 : Wait Vbl : Put Bob 1 : Bob 1,220,150,14 : Wait Vbl : Put Bob 1 Sprite 4,X Hard(0,130),Y Hard(0,80),42 : Move X 4,"(1,1,65)(1,-1,65)L" : Move Y 4,"(1,0,5)(1,1,5)(1,2,15)(1,-2,15)(1,-1,5)L" : Move On(4) Wait Vbl : Put Bob 1 : Sprite 1,X Hard(0,10),Y Hard(0,180),1 Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$444,$44A,$EEE Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$444,$44A,$EEE Return 2800 Rem ----- ATE ------- Fade 1 : Wait 14 : Sprite Off : Bob Off TYPE=5 : Gosub 4000 : FINSCRE=60 For I=0 To 13 : Bob 1,I*26+1,194,12 : Put Bob 1 : Wait Vbl : Next I Bob 1,20,100,61 : Wait Vbl : Put Bob 1 : Bob 1,80,60,62 : Wait Vbl : Put Bob 1 Bob 1,146,117,61 : Wait Vbl : Put Bob 1 : Bob 1,60,150,63 : Wait Vbl : Put Bob 1 : Bob 1,260,40,63 : Wait Vbl : Put Bob 1 Bob 1,210,175,62 : Wait Vbl : Put Bob 1 : Bob 1,230,85,62 : Wait Vbl : Put Bob 1 : Bob 1,150,40,63 : Wait Vbl : Put Bob 1 Gosub 6500 : Screen Copy 0 To 1 Bob 1,30,30,14 : Wait Vbl : Put Bob 1 : Bob 1,130,50,15 : Wait Vbl : Put Bob 1 : Bob 1,100,130,14 : Wait Vbl : Put Bob 1 Bob 1,200,140,15 : Wait Vbl : Put Bob 1 : Bob 1,260,110,14 : Wait Vbl : Put Bob 1 : Bob 1,240,40,14 : Wait Vbl : Put Bob 1 Wait Vbl : Put Bob 1 : Sprite 1,X Hard(0,40),Y Hard(0,95),1 Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$4E,$A00,$E44,$EE,$0,$4E,$EEE Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$4E,$A00,$E44,$EE,$0,$4E,$EEE Return 2900 Rem ----- NYN ------- Fade 1 : Wait 14 : Sprite Off : Bob Off TYPE=5 : Gosub 4000 : FINSCRE=50 For I=0 To 13 : Bob 1,I*26+1,194,12 : Put Bob 1 : Wait Vbl : Next I Bob 1,20,100,62 : Wait Vbl : Put Bob 1 : Bob 1,90,60,61 : Wait Vbl : Put Bob 1 Bob 1,130,160,10 : Wait Vbl : Put Bob 1 : Bob 1,270,60,10 : Wait Vbl : Put Bob 1 : Bob 1,200,90,63 : Wait Vbl : Put Bob 1 Bob 1,230,130,62 : Wait Vbl : Put Bob 1 Gosub 6500 : Screen Copy 0 To 1 Bob 1,30,35,14 : Wait Vbl : Put Bob 1 Bob 1,150,140,14 : Wait Vbl : Put Bob 1 : Bob 1,110,125,15 : Wait Vbl : Put Bob 1 Bob 1,190,40,15 : Wait Vbl : Put Bob 1 : Bob 1,280,89,14 : Wait Vbl : Put Bob 1 Sprite 4,X Hard(0,0),Y Hard(0,135),64 : Move X 4,"108(1,2,180)L" : Move On(4) Wait Vbl : Put Bob 1 : Sprite 1,X Hard(0,40),Y Hard(0,95),1 Palette $0,$EEE,$CCC,$888,$EAA,$CE6,$4C2,$26E,$4E,$4E,$A00,$E44,$EE,$0,$4E,$EEE Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$EAA,$CE6,$4C2,$26E,$4E,$4E,$A00,$E44,$EE,$0,$4E,$EEE Return 3000 Rem ----- TEN ------- Fade 1 : Wait 14 : Sprite Off : Bob Off TYPE=10 : Gosub 4000 : FINSCRE=40 For I=0 To 13 : Bob 1,I*26+1,193,55 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 : Wait Vbl Bob 1,51,128,62 : Wait Vbl : Put Bob 1 Bob 1,100,84,61 : Wait Vbl : Put Bob 1 Bob 1,190,125,63 : Wait Vbl : Put Bob 1 Bob 1,182,40,61 : Wait Vbl : Put Bob 1 Bob 1,110,166,35 : Wait Vbl : Put Bob 1 Gosub 6500 : Screen Copy 0 To 1 Bob 1,120,130,14 : Wait Vbl : Put Bob 1 Bob 1,40,40,14 : Wait Vbl : Put Bob 1 : Bob 1,130,30,15 : Wait Vbl : Put Bob 1 Bob 1,280,100,14 : Wait Vbl : Put Bob 1 Sprite 4,X Hard(0,122),Y Hard(0,0),44 : Anim 4,"(44,8)(45,8)(46,8)(47,8)(48,35)(49,4)(50,4)(51,4)(52,4)(53,4)(44,1)L" Move Y 4,"147(1,0,32)(1,1,8)(1,2,13)(1,3,14)(1,0,21)L" : Anim On(4) : Move On(4) Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$0,$EEE,$EEE Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$0,$EEE,$EEE : Put Bob 1 : Sprite 1,X Hard(0,30),Y Hard(0,186),1 Return 3100 Rem ----- 11 ------- Fade 1 : Wait 14 : Bob Off : Sprite Off TYPE=2 : Gosub 4000 : FINSCRE=70 For I=0 To 13 : Bob 1,I*26+1,193,8 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 : Wait Vbl Gosub 6500 : Screen Copy 0 To 1 For I=0 To 6 : Bob 1,I*45+25,143,15+((I/2.0)=Int(I/2)) : Wait Vbl : Put Bob 1 : Next I : Bob 1,135,90,61 : Wait Vbl : Put Bob 1 Sprite 4,X Hard(0,0),Y Hard(0,180),64 : Move X 4,"108(1,8,45)L" : Move On(4) Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$6E,$2A,$EEE Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$AAA,$2A,$EEE : Put Bob 1 : Sprite 1,X Hard(0,157),Y Hard(0,80),1 Return 3300 Rem --------- 13 --------- Fade 1 : Wait 14 : Sprite Off : Bob Off TYPE=1 : Gosub 4000 : FINSCRE=70 For I=0 To 13 : Bob 1,I*26+1,193,55 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 Bob 1,140,90,65 : Wait Vbl : Put Bob 1 : Bob 1,80,130,66 : Wait Vbl : Put Bob 1 Bob 1,40,75,67 : Wait Vbl : Put Bob 1 Bob 1,210,80,55 : Wait Vbl : Put Bob 1 : Bob 1,236,80,55 : Wait Vbl : Put Bob 1 Bob 1,100,50,67 : Wait Vbl : Put Bob 1 : Bob 1,270,125,67 : Wait Vbl : Put Bob 1 Gosub 6500 : Screen Copy 0 To 1 Bob 1,50,30,14 : Wait Vbl : Put Bob 1 Bob 1,100,100,14 : Wait Vbl : Put Bob 1 Bob 1,150,40,14 : Wait Vbl : Put Bob 1 Bob 1,155,140,14 : Wait Vbl : Put Bob 1 Bob 1,45,150,14 : Wait Vbl : Put Bob 1 Bob 1,220,20,14 : Wait Vbl : Put Bob 1 Bob 1,240,110,14 : Wait Vbl : Put Bob 1 Sprite 4,X Hard(0,45),Y Hard(0,0),68 : Move Y 4,"30(1,3,80)L" : Move X 4,"(1,0,79)(1,110,1)(1,0,79)(1,-60,1)(1,0,79)(1,-50,1)L" : Move On(4) Palette $0,$D22,$B11,$800,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$500,$611,$EEE Palette ,,,,,,,,,,,,,,,,$0,$D22,$B11,$800,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$622,$844,$EEE : Put Bob 1 : Sprite 1,X Hard(0,157),Y Hard(0,80),1 Return 3400 Rem --------- 14 --------- Fade 1 : Wait 14 : Sprite Off : Bob Off TYPE=4 : Gosub 4000 : FINSCRE=40 For I=0 To 14 : Bob 1,I*23+1,179,69 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 For I=1 To 8 Step 2 : Bob 1,(I-1)*40+20,180-(I*16),67 : Wait Vbl : Put Bob 1 : Next I Gosub 6500 : Screen Copy 0 To 1 For I=1 To 6 Step 2 : Bob 1,(I-1)*40+60,120-(I*16),14 : Wait Vbl : Put Bob 1 : Next I Bob 1,290,130,14 : Wait Vbl : Put Bob 1 Sprite 4,X Hard(0,0),Y Hard(0,100),64 : Move X 4,"108(1,4,90)L" : Move On(4) Flash 9,"(e00,4)(c00,4)(a00,4)(c00,4)" Palette $0,$E22,$C22,$800,$ACE,$CE6,$4C2,$26E,$222,$E00,$A00,$E44,$EE,$500,$611,$EEE Palette ,,,,,,,,,,,,,,,,$0,$E22,$C22,$800,$ACE,$CE6,$4C2,$26E,$222,$E00,$A00,$E44,$EE,$422,$622,$EEE : Put Bob 1 : Sprite 1,X Hard(0,30),Y Hard(0,160),1 Return 3500 Rem --------- 15 --------- Fade 1 : Wait 14 : Sprite Off : Bob Off TYPE=3 : Gosub 4000 : FINSCRE=100 For I=0 To 13 : Bob 1,I*26+1,178,55 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 For I=0 To 13 Step 2 : Bob 1,I*26+1,78,55 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 Gosub 6500 : Screen Copy 0 To 1 For I=0 To 5 : Bob 1,I*55+20,118,15+((I/2.0)=Int(I/2.0)) : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 For I=1 To 4 : Bob 1,I*65-10,28,14-((I/2.0)=Int(I/2.0)) : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 Sprite 4,X Hard(0,0),Y Hard(0,126),64 : Move X 4,"108(1,8,45)L" : Move Y 4,"(1,0,44)(1,40,1)(1,0,44)(1,-40,1)L" : Move On(4) Palette $0,$D22,$B11,$800,$ACE,$CE6,$4C2,$26E,$222,$E00,$A00,$E44,$EE,$411,$611,$EEE Palette ,,,,,,,,,,,,,,,,$0,$D22,$B11,$800,$ACE,$CE6,$4C2,$26E,$222,$E00,$A00,$E44,$EE,$411,$611,$EEE : Put Bob 1 : Sprite 1,X Hard(0,50),Y Hard(0,50),1 Return 3600 Rem ---------- 16 ----------- Fade 1 : Wait 14 : Sprite Off : Bob Off TYPE=8 : Gosub 4000 : FINSCRE=60 For I=0 To 13 : Bob 1,I*26+1,193,55 : Put Bob 1 : Wait Vbl : Next I For I=0 To 13 Step 2 : Bob 1,I*26+1,143,55 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 For I=1 To 13 Step 2 : Bob 1,I*26+1,103,55 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 For I=0 To 13 Step 2 : Bob 1,I*26+1,63,55 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 For I=0 To 13 Step 2 : Bob 1,I*26+1,120,30 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 For I=1 To 13 Step 2 : Bob 1,I*26+1,80,30 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 For I=0 To 13 Step 2 : Bob 1,I*26+1,40,30 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 Gosub 6500 : Screen Copy 0 To 1 For I=1 To 12 Step 2 : Bob 1,I*26+1,30,15 : Put Bob 1 : Wait Vbl : Next I Palette $0,$C22,$911,$800,$ACE,$CE6,$4C2,$26E,$222,$E00,$A00,$E44,$EE,$400,$511,$EEE Palette ,,,,,,,,,,,,,,,,$0,$E22,$C22,$800,$ACE,$CE6,$4C2,$26E,$222,$E00,$A00,$E44,$EE,$422,$622,$EEE : Put Bob 1 : Sprite 1,X Hard(0,50),Y Hard(0,175),1 Return 3700 Rem ---------- 17 ----------- Fade 1 : Wait 14 : Sprite Off : Bob Off TYPE=2 : Gosub 4000 : FINSCRE=30 For I=0 To 13 : Bob 1,I*26+1,193,9 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 Bob 1,100,110,67 : Wait Vbl : Put Bob 1 : Bob 1,200,110,67 : Wait Vbl : Put Bob 1 : Bob 1,140,163,69 : Wait Vbl : Put Bob 1 Gosub 6500 : Screen Copy 0 To 1 Bob 1,55,50,14 : Wait Vbl : Put Bob 1 : Bob 1,255,50,14 : Wait Vbl : Put Bob 1 : Bob 1,155,130,15 : Wait Vbl : Put Bob 1 Palette $0,$D22,$B11,$800,$ACE,$CE6,$4C2,$26E,$222,$E22,$A00,$E44,$EE,$500,$611,$EEE Palette ,,,,,,,,,,,,,,,,$0,$D22,$B11,$800,$ACE,$CE6,$4C2,$26E,$222,$EE0,$A00,$E44,$EE,$622,$844,$EEE : Put Bob 1 : Sprite 1,X Hard(0,110),Y Hard(0,110),1 Return 20000 Rem --- bonus life ----- Fade 1 : Wait 14 : Sprite Off : Bob Off TYPE=1 : Gosub 4000 For I=0 To 13 : Bob 1,I*26+1,193,9 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 For I=6 To 13 : Bob 1,I*26+1,40,9 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 For I=1 To 3 : Bob 1,I*36,193-(I*40),9 : Put Bob 1 : Wait Vbl : Next I : Put Bob 1 Gosub 6500 Wait Vbl : Put Bob 1 : Sprite 1,X Hard(0,5),Y Hard(0,184),1 Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$0,$E0,$A00,$E44,$EE,$0,$0,$EEE Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$0,$E0,$A00,$E44,$EE,$0,$0,$EEE Move X 1,"(1,2,70)" : Anim 1,"(1,7)(2,7)(3,7)(2,7)L" : Anim On(1) Move Y 1,"(1,-4,7)(1,-2,5)(1,-1,2)(1,0,3)(1,-4,7)(1,-2,5)(1,-1,2)(1,0,3)(1,-4,7)(1,-2,5)(1,-1,2)(1,0,3)(1,-4,7)(1,-2,5)(1,-1,2)" : Move On(1) Wait Vbl : Repeat : Until Movon(1)=0 Move Y 1,"(1,0,3)(1,1,8)" : Move X 1,"(1,2,100)" : Move On(1) Inc LIVES DEST=451-(LIVES*15) Repeat : Until X Sprite(1)>=DEST Move Off : Move Y 1,"(1,-1,17)" : Move On Repeat : Until Movon(1)=0 : Anim Off Wait 40 : Return 4000 Rem --------------- Rem - BACKGROUNDS - Rem --------------- Rem ----- ONE and all ----- Wait Vbl : For I=0 To 4 : For J=0 To 4 Paste Icon I*64,J*40,TYPE Next J : Next I Return 6000 Rem ----------------- Rem - SCORE ROUTINE - Rem ----------------- Z6=(SCRE mod 10) Z5=(SCRE mod 100)/10 Z4=(SCRE mod 1000)/100 Z3=(SCRE mod 10000)/1000 Z2=(SCRE mod 100000)/10000 Z1=(SCRE mod 1000000)/100000 Bob 1,10,1,Z1+20 : Bob 2,20,1,Z2+20 Bob 3,30,1,Z3+20 : Bob 4,40,1,Z4+20 Bob 5,50,1,Z5+20 : Bob 6,60,1,Z6+20 Return 6200 Rem **** COLLECT CRYSTAL **** Freeze : XX=XX-16 : YY=YY-20 : If MUZAK=0 Then Bell Screen Copy 1,XX,YY,XX+32,YY+40 To 0,XX,YY : SCRE=SCRE+10 : FINSCRE=FINSCRE-10 Gosub 6000 : Unfreeze If FINSCRE=0 Then Pop : Pop : SCRN=SCRN+1 : Goto 110 Return 6300 If XX<9 Then Sprite 1,X Hard(0,310),Y Hard(0,YY),4 6301 If XX>311 Then Sprite 1,X Hard(0,10),Y Hard(0,YY),1 6302 If YY<20 Then UP=0 : DWN=0 : Move Y 1,"(1,1,5)(1,2,5)(1,4,50)" : Move On(1) 6303 Return 6500 Rem ----- LIVES ------- For I=1 To LIVES If LIVES>0 Then Bob 1,323-(I*15),15,1 : Wait Vbl : Put Bob 1 Next I Return 7000 Rem ------------ DIE -------- Pop If Inkey$="h" Then Inc SCRN : Clear Key : Goto 110 Move Off(1) : Dec LIVES : Boom Anim 1,"(36,7)(37,7)(38,7)(39,7)(40,7)(41,7)(54,10)" : Anim On : Wait 52 Clear Key : If LIVES>=0 Then Goto 110 Wait 30 : Fade 1 : Wait 15 : Goto 80 8000 Rem ------- B O N U S S C R E E N -------- Fade 1 : Wait 14 : TIME=0 : Sprite Off : Bob Off TYPE=1 : Gosub 4000 : FINSCRE=99999 If SCRN=6 Then Bob 1,300,165,8 : Put Bob 1 : Wait Vbl If SCRN=12 Then Bob 1,280,165,62 : Put Bob 1 : Wait Vbl If SCRN=18 Then Bob 1,280,165,67 : Put Bob 1 : Wait Vbl If SCRN=6 Then For I=0 To 13 : Bob 1,I*26+1,180,8 : Put Bob 1 : Wait Vbl : Next I If SCRN=6 Then For I=2 To 11 : Bob 1,I*26+1,110,8 : Put Bob 1 : Wait Vbl : Next I If SCRN=12 Then For I=0 To 13 : Bob 1,I*26+1,180,61 : Put Bob 1 : Wait Vbl : Next I If SCRN=12 Then For I=2 To 11 : Bob 1,I*26-16,110,63 : Put Bob 1 : Wait Vbl : Next I If SCRN=18 Then For I=0 To 15 : Bob 1,I*23+1,180,66 : Put Bob 1 : Wait Vbl : Next I If SCRN=18 Then For I=2 To 11 : Bob 1,I*26-10,110,67 : Put Bob 1 : Wait Vbl : Next I Rem ************* Bob 1,140,30,56 : Wait Vbl : Put Bob 1 TIME=0 Gosub 6500 : Screen Copy 0 To 1 For I=0 To 5 : Bob 1,I*45+25,163,15+((I/2.0)=Int(I/2)) : Wait Vbl : Put Bob 1 : Next I For I=1 To 5 : Bob 1,I*45+25,92,14-((I/2.0)=Int(I/2)) : Wait Vbl : Put Bob 1 : Next I For I=2 To 4 : Bob 1,I*45+25,52,15+((I/2.0)=Int(I/2)) : Wait Vbl : Put Bob 1 : Next I Put Bob 1 : Bob 1,150,-1,54 : Wait Vbl : Put Bob 1 : Sprite 1,X Hard(0,10),Y Hard(0,160),1 If SCRN=6 Then Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$533,$655,$EEE If SCRN=6 Then Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$644,$866,$EEE If SCRN=12 Then Palette $0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$446,$668,$EEE If SCRN=12 Then Palette ,,,,,,,,,,,,,,,,$0,$EEE,$CCC,$888,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$446,$668,$EEE If SCRN=18 Then Palette $0,$D22,$D11,$800,$ACE,$CE6,$4C2,$26E,$222,$E0,$A00,$E44,$EE,$400,$611,$EEE If SCRN=18 Then Palette ,,,,,,,,,,,,,,,,$0,$D22,$D11,$800,$ACE,$CE6,$4C2,$26E,$0,$E0,$A00,$E44,$EE,$422,$622,$EEE Flash 9,"(262,4)(484,4)(6a6,4)(6c6,4)(8e8,4)(6c6,4)(6a6,4)(474,4)" Sprite 4,X Hard(0,10),Y Hard(0,20),57 : Anim 4,"(57,260)(58,100)(59,200)" : Anim On(4) Gosub 6000 : Wait Vbl Flash 12,"(2ae,3)(66c,3)(82a,3)(c28,3)(e24,3)(e42,3)(ea0,3)(ee0,3)(aa4,3)(688,3)" Rem 9000 If Jright(1) Then Move X 1,"(1,2,2)" : Move On(1) : If RIGHT=0 Then RIGHT=1 : Anim 1,"(1,8)(2,8)(3,8)(2,8)L" : Anim On(1) : LEFT=0 If Jleft(1) Then Move X 1,"(1,-2,2)" : Move On(1) : If LEFT=0 Then LEFT=1 : Anim 1,"(4,8)(5,8)(6,8)(5,8)L" : Anim On(1) : RIGHT=0 XX=X Screen(0,X Sprite(1)) : YY=Y Screen(0,Y Sprite(1)) ZZ=Point(XX,YY) : ZX=Point(XX,YY-1) : ZA=Point(XX-3,YY-8) : ZB=Point(XX+3,YY-8) If Jup(1) and Movon(15)=0 and UP=0 and ZZ>0 and ZZ<8 Then Move Y 1,"(1,-4,10)(1,-2,5)(1,-1,5)(1,0,5)" : Move On(1) : UP=1 : Move X 15,"0(1,1,25)" : Move On(15) : Wait Vbl If(ZZ=0 or ZZ>7) and UP=0 and DWN=0 Then UP=0 : DWN=1 : Move Y 1,"(1,1,5)(1,2,5)(1,4,50)" : Move On(1) : Move X 15,"0(1,1,60)" : Move On(15) : Wait Vbl If ZZ<>0 and ZZ<8 and DWN=1 Then DWN=0 : UP=0 : Move Off(1) : Move Off(15) If Movon(15)=0 Then UP=0 : DWN=0 If ZZ<>0 and ZZ<8 and UP=0 and DWN=0 and ZX<>0 and ZX<8 Then Move Y 1,"(1,-1,1)" : Move On(1) If Joy(1)=0 Then Anim Off(1) : LEFT=0 : RIGHT=0 If YY<20 or XX<9 or XX>311 Then Gosub 6300 If ZZ=9 or ZX=9 Then Goto 7000 If ZZ=12 or ZX=12 or ZA=12 or ZB=12 Then Gosub 6200 Inc TIME : Wait Vbl : If TIME<360 Then Goto 9000 Freeze : Move Off(1) : Anim Off(1) Rem Wait 10 : Bob 10,138,50,60 Wait 100 SCRN=SCRN+1 : Goto 110 Rem *** TITLE SCREEN *** 10000 Sprite Off : Bob Off : Cls 0 : Clear Key Unpack 5 To 1 Palette $0,$600,$A00,$E00,$E22,$62E,$42E,$40E,$EE0,$A00,$E44,$EEE,$CCC,$AAA,$888,$EEE : Wait Vbl Palette ,,,,,,,,,,,,,,,,$0,$600,$A00,$E00,$E22,$62E,$42E,$40E,$EE0,$A00,$E44,$EEE,$CCC,$AAA,$888,$EEE : Wait Vbl Gosub 6000 : Wait Vbl : For I=1 To 6 : Put Bob I : Next I : Wait Vbl : For I=1 To 6 : Bob Off(I) : Next I Sprite 1,X Hard(0,250),Y Hard(0,-20),70 : Move Y 1,"(1,1,182)(2,-1,5)(1,0,10)(2,1,5)" : Move On : Anim 1,"(70,180)(71,7)(72,1)" : Anim On Paste Bob 280,1,74 Wait Vbl If FLAG=0 Then FLAG=1 : Music 1 Bob 1,256,70,75+(1-MUZAK) Repeat If Inkey$<>"" Then MUZAK=(1-MUZAK) : Bob 1,256,70,75+(1-MUZAK) : If MUZAK=1 Then Music 1 Else Music Off Until Fire(1) Fade 1 : Wait 16 : Cls 0 : Bob Off : Sprite Off : Wait Vbl : Screen 0 : Cls 0 : Screen To Front 0 Return Rem 5000 Rem ***** MOVEMENT ROUTINE ***** If Jright(1) Then Move X 1,"(1,2,2)" : Move On(1) : If RIGHT=0 Then RIGHT=1 : Anim 1,"(1,8)(2,8)(3,8)(2,8)L" : Anim On(1) : LEFT=0 If Jleft(1) Then Move X 1,"(1,-2,2)" : Move On(1) : If LEFT=0 Then LEFT=1 : Anim 1,"(4,8)(5,8)(6,8)(5,8)L" : Anim On(1) : RIGHT=0 XX=X Screen(0,X Sprite(1)) : YY=Y Screen(0,Y Sprite(1)) ZZ=Point(XX,YY) : ZX=Point(XX,YY-1) : ZA=Point(XX-3,YY-8) : ZB=Point(XX+3,YY-8) If Jup(1) and Movon(15)=0 and UP=0 and ZZ>0 and ZZ<8 Then Move Y 1,"(1,-4,10)(1,-2,5)(1,-1,5)(1,0,5)" : Move On(1) : UP=1 : Move X 15,"0(1,1,25)" : Move On(15) : Wait Vbl If(ZZ=0 or ZZ>7) and UP=0 and DWN=0 Then UP=0 : DWN=1 : Move Y 1,"(1,1,5)(1,2,5)(1,4,50)" : Move On(1) : Move X 15,"0(1,1,60)" : Move On(15) : Wait Vbl If ZZ<>0 and ZZ<8 and DWN=1 Then DWN=0 : UP=0 : Move Off(1) : Move Off(15) If Movon(15)=0 Then UP=0 : DWN=0 If ZZ<>0 and ZZ<8 and UP=0 and DWN=0 and ZX<>0 and ZX<8 Then Move Y 1,"(1,-1,1)" : Move On(1) If Joy(1)=0 Then Anim Off(1) : LEFT=0 : RIGHT=0 If YY<20 or XX<9 or XX>311 Then Gosub 6300 If ZZ=9 or ZX=9 or Sprite Col(1)<>0 Then Goto 7000 If ZZ=12 or ZX=12 or ZA=12 or ZB=12 Then Gosub 6200 Return